Skip to content

feat: add Q7 carpet settings and map names - #1040

Open
ramon-angosto wants to merge 3 commits into
Python-roborock:mainfrom
ramon-angosto:q7/3-carpet-map-names
Open

ramon-angosto wants to merge 3 commits into
Python-roborock:mainfrom
ramon-angosto:q7/3-carpet-map-names

Conversation

@ramon-angosto

Copy link
Copy Markdown

Depends on #1039. Only the last commit belongs to this PR.

Summary

  • Q7PropertiesApi.set_carpet_turbo(enabled) and set_carpet_avoid(enabled). They are written individually with prop.set {"carpet_turbo": 0|1} / {"carpet_avoid": 0|1} and read back nested under privacy. The new RoborockB01Props.CARPET_TURBO / CARPET_AVOID members are used.
  • Q7MapListEntry.name keeps the user-visible map name returned by service.get_map_list (for example "Temporary map" for an unsaved map). The name was previously dropped.

Testing

  • Unit tests for both settings and for map list parsing with names.
  • Verified on a Q7 TF+ (roborock.vacuum.sc05, firmware 03.01.80).

Add `clean_zone` and `clean_zones` to the Q7 properties API. Zones are given
as two opposite corners in the common Roborock millimetre coordinate space
through a new `Q7RoborockPoint`, which converts to and from the Q7 world
coordinates (meters, origin next to the dock).

The device expects the zone preference type to be selected first
(`service.set_preference_type`), then the zone corners as a flat list
(`service.set_zone_points`), and finally `service.set_zone_clean` to start.
Several zones are concatenated into a single task.
Add a `RemoteTrait` to the Q7 properties API, mirroring the Q10 remote API.
Manual mode is entered with `prop.set sweep_type=5` and the robot is driven
with `service.set_direction` (1 forward, 2 left, 3 right, 0 exit). Each
command moves the robot for a short burst, so callers repeat it while a
direction is held. Leaving remote mode restores `sweep_type=0`.
Add `set_carpet_turbo` and `set_carpet_avoid` to the Q7 properties API. Both
are written individually with `prop.set` (`carpet_turbo` / `carpet_avoid`)
and reported back nested under `privacy`.

Keep the user-visible `name` of each entry returned by
`service.get_map_list`, which was previously dropped.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant